
#ifndef UTILS_CHRONO_H
#define UTILS_CHRONO_H

#if defined(UTILS_ALL_BOOST)
#if !defined(UTILS_CHRONO_BOOST) && !defined(UTILS_CHRONO_STANDARD) 
#define UTILS_CHRONO_BOOST
#endif
#elif defined(UTILS_ALL_STANDARD)
#if !defined(UTILS_CHRONO_BOOST) && !defined(UTILS_CHRONO_STANDARD) 
#define UTILS_CHRONO_STANDARD
#endif
#endif

#if defined(UTILS_CHRONO_BOOST)
#include <boost/chrono.hpp>
namespace utils {
  using ::boost::chrono::duration;
  using ::boost::chrono::time_point;

  using ::boost::chrono::system_clock;
  using ::boost::chrono::steady_clock;
  using ::boost::chrono::high_resolution_clock;

  using ::boost::chrono::treat_as_floating_point;
  using ::boost::chrono::duration_values;

  using ::boost::chrono::duration_cast;
  using ::boost::chrono::time_point_cast;
}
#elif defined(UTILS_CHRONO_STANDARD)
#include <chrono>
namespace utils {
  using std::chrono::duration;
  using std::chrono::time_point;

  using std::chrono::system_clock;
  using std::chrono::steady_clock;
  using std::chrono::high_resolution_clock;

  using std::chrono::treat_as_floating_point;
  using std::chrono::duration_values;

  using std::chrono::duration_cast;
  using std::chrono::time_point_cast;
}
#endif

#endif // UTILS_CHRONO_H

